iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0

「最要說不的是那些 『高風險的關鍵時刻』。愈是關鍵時刻,『不』字就愈有價值。當公司存亡成敗皆繫於此時,你必須盡己所能,把最好的資訊傳遞給你的經理,這往往意味著要說『不』」

「事實上,優秀的經理人對於敢於說『不』的人總是求賢若渴。因為只有敢於說『不』才能真正做成一些事情」

取自: The Clean Coder (p.59 & p.62)


CH2: 說「不」

何謂團隊精神?

案例: 某司重大產品發表會前夕

Paula: 「那個專案的進度預估是這樣的,約 8 周後可以完整 Demo,也可能提前或延後 1 周」

Mike: 「進度早已排定了,從現在開始,還有 6 周」

Paula: 「我先回專案小組評估 6 周後有把握交付些什麼,但絕不會是整個系統。有些功能肯定還不能用」

Mike: 「客戶想見到的是完整 Demo!」

Paula: 「我們都已經竭盡全力了,Mike,這個問題上我們已經盡很大的努力了,完整交付日期肯定是在 8 到 9 周之後,而不是 6 周」

Mike: 「你們可以多加班呀!」

Paula: 「相信我,這個任務需要 8 或 9 周」

Mike: 「好吧,拿出你的最佳方案來,但要繼續想想怎樣才能在 6 周內做完。我知道你們會找到辦法的」

Paula: 「我會給你看一個 6 周的方案,但有些功能或資料都不會包含在那,我只能做到這樣」

Mike: 「好吧,不過我敢肯定如果夥伴們願意努力試試的話一定會有轉機的」

// 過了一些時候,在總監召集的業務策略會議上...

Don: 「客戶 6 周後會來看完整 DEMO,他們希望看到一切就緒」

Mike: 「沒問題,我的團隊正全力以赴,總之我們會保證完成任務的」

Don: 「很好,你們都很有團隊精神」

-- End --

思考: 這個案例裡,誰真正具備團隊精神呢?

  • Paula 根據自己團隊最好的狀況明確評估哪些是做得到與做不到的事情
  • Mike 只考慮一己之利,一個勁兒讓 Paula 去完成那些她已明確表示無法完成的任務
  • 顯然 Mike 與 Don 也不是同一個團隊的,因為他在會議上滿口謊言
  • Why?
    • Mike 不是什麼惡魔,他只是自信過頭,以為一定能讓事情照自己想的運行
    • 他相信自己能軟硬兼施控制 Paula 在 6 周內嘗試努力趕上 Deadline

當一列滿載的火車向大家衝來...

  • Paula 可以任由大家走向懸崖
    • 他可以確保所有談話都已被記錄下來,以規避責任
    • 這是一種「消極對抗」
  • 另一種做法,他可以直接和 Don 交流來阻止災難發生
    • 這麼做的確有風險
    • 也真正體現了團隊精神的全部內涵

說「是」的成本

  • 這一節作者 Martin Fowler 舉了一個親身的經歷 (故事長)
  • 簡單來說
    • 作者花了 2 周超時極限加班,並大量使用複製貼上大法,產出許多爛 Code
    • 業務遲遲沒給其他必要資料,導致 APP 無法上架
    • 結果:噢,你好阿 Bob。我們新來了一位副總,決定不再發布那支 APP 了

客戶永遠不會像你那麼在乎

  • 記住:客戶總會把專案截止日期往後拖延
  • 他們總是想要更多功能,提出更多需求變更 (尤其在最後關頭)
  • Bob 公式 (...?):
  (經理人數)^2
+ 2 x (新經理人數)
+ Bob 的孩子數
= 最後時刻增加的天數

哄騙工程師三步驟 (原文: 結果如何? 急於完成,卻遲難上市)

  1. 告訴開發人員這個應用很簡單
  2. 挑剔指責開發團隊沒能發現他們的需要,並藉機增加各種功能
  3. 一而再地延後專案截止日期
    • 在你已經每周加班 20 小時把一切都差不多弄好時
    • 又多給你幾天時間
    • 然後又再加一周時間
    • 提出新的需求

取自: The Clean Coder (pp.74-75)

P.S. 關於本小節,筆者目前沒有特別深刻的感受,只覺得工程師真的要好好保護自己 QQ,有網友願意分享看看心得的嗎~

小結

「寫出好的程式碼,堅守專業主義精神,有可能嗎?」

「是的。但首先你要學會如何說『不』」

取自: The Clean Coder (p.59 & p.62)


CH3: 說「是」

真正的承諾聽起來是怎樣

識別「缺乏承諾」的徵兆

當無法兌現承諾時

  • 及早告知狀況,求援

堅守原則


小結

「如果你能夠一直信守承諾,大家會認為你是一名『嚴謹負責的開發人員』。這是我們這一行中最有價值的評價」

取自: The Clean Coder (p.85)

  • 寫 Code 之外,程式設計師肯定得面對各式的溝通活動:
    • 預估
    • 確定 Deadline
    • 面對面交流
  • 做出承諾能夠幫助開發者解決溝通中可能發生的不少問題
  • 專業人士不必對所有的請求都回答「是」 (回想 CH2)
    • 但它們會盡可能尋找創新方法,做到有求必應
    • 給出肯定回答時,它們會使用「承諾用語」

上一篇
Day 09: 【番外篇】關於寫 Code 這件事 (待改進中... )
下一篇
Day 11: 協作、團隊與專案、學徒期 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言